package sctu.edu.java.year2016.team05.zengkun.day20160526;

/**
 *"=="与equals的比较。
 *  Created by mike on 2016/5/26.
 */
public class LittleTest {
    public static void main(String[] args) {
        double a = 4010L;
        double b = 4010L;
        System.out.println(a == b);

        String A = new String("ab123");
        String B = new String("ab123");
        System.out.println(A.equals(B));
        System.out.println(A==B);//可怕。
        String s1,s2,s3,s4;

        s1=new String("we are students");

        s2="We are students";
        s3="We are students";

        s4=new String(s1);

        System.out.println(s1.equals(s2));

        System.out.println(s3==s2);//s2和s3为什么是对的？？

        System.out.println(s1.equals(s4));

        System.out.println(s1==s4);//s1和s4的引用不是一样的么？为什么输出的是false？？

//1、string是一个特殊的引用类型。对于两个字符串的比较，不管是 == 和 Equal 这两者比较的都是字符串是否相同；
       // 2、当你创建两个string对象时，内存中的地址是不相同的，你可以赋相同的值。
        //　所以字符串的内容相同。引用地址不一定相同，（相同内容的对象地址不一定相同），但反过来却是肯定的；
       //3、基本数据类型比较(string 除外) == 和 Equals 两者都是比较值； 收起


    }
}